home *** CD-ROM | disk | FTP | other *** search
/ Aminet 33 / Aminet 33 - October 1999.iso / Aminet / docs / misc / amigapl.9811.lzh / amigapl.9811 / text1495.txt < prev    next >
Encoding:
Text File  |  1998-12-01  |  2.0 KB  |  41 lines

  1. Miloslaw Smyk wrote:
  2.  
  3. > Nie by³o mnie przez dwa dni, a kiedy wróci³em moja skrzynka pocztowa by³a
  4. > zawalona spekulacjami na temat testowej procedury Darka ¦mietany. Poniewa¿
  5. > wyra¿ane opinie by³y dosyæ skrajne i g³ównie koncentrowa³y siê na
  6. > przyalignowaniu (b±d¼ nie) struktur, na których operuje move16 do granicy
  7. > 16-tu bajtów, przyjrzyjmy siê wspólnie co siê tam w³a¶ciwie dzieje:
  8.  
  9. Fragment kodu zrodlowego testu wyslalem na liste, aby uswiadomic tym, ktorzy 
  10. znaja sie cokolwiek na asemblerze, jak banalny i chodzacy na kazdej karcie 
  11. 68040/060 program (040test), wywraca sie na niektorych egzemplarzach kart PPC.
  12. A tu kolejny programista szuka dziury w calym. 
  13.  
  14. Wyjasnie pewna wlasciwosc instrukcji move16:
  15. Instrukcja ta przesyla 4 longi pomiedzy obszarami adresowanymi w taki sposob, 
  16. ze pierwszy z 4 kolejnych adresow zrodla i celu ma najnizsze 4 bity adresowe 
  17. rowne zeru. 
  18. To co ustawisz na 2 i 3 bicie adresu zrodla i celu nie ma najmniejszego 
  19. znaczenia dla sposobu wykonania sie tej instrukcji, jest ignorowane 
  20. przez procesor, ktory zawsze dla pierwszego longa zamienia te bity na niskie 
  21. stany linii adresowych. Dla nastepnych 3 longow procesor automatycznie 
  22. inkrementuje stan tych linii adresowych. Oznacza to oczywiscie, ze w przypadku 
  23. tej instrukcji zawartosc rejestrow adresowych nie musi byc zgodna z adresem 
  24. danych.
  25.  
  26. W programie tym adresy dla instrukcji move16 sa, wbrew temu co sadzisz, 
  27. przygotowane prawidlowo. To co wziales za "przyalignowanie" w tym tescie 
  28. jest akurat fragmentem kodu potrzebnego do czegos zupelnie innego. (Wysylajac 
  29. na liste kod zrodlowy napisalem bardzo wyraznie, ze jest to uproszczona 
  30. wersja bardziej rozbudowanego programu, i w kodzie zostalo troche rzeczy 
  31. z tego programu.)
  32.  
  33. Napisales, ze w 50% wykonan tego testu adres jest "alignowany" wg. Ciebie 
  34. niewlasciwie, a potem napisales, ze ten test nie robi u Ciebie krzakow. 
  35. Nie zauwazyles, ze gdyby to "alignowanie" mialo dzialac tak jak sadzisz, 
  36. to ten test by u Ciebie w 50% przypadkow nie przechodzil?
  37.  
  38. Pozdrowienia,
  39. SmietA
  40.  
  41.